#include"Shm.hpp"
#include <sys/types.h>
#include <sys/shm.h>
#include"namedPipe.hpp"


int main()
{
    // key_t key=GetCommKey(gpathname,gproj_id);
    // std::cout<<"key:"<<ToHex(key)<<std::endl;
    
    // int shmid=ShmGet(key,4096);
    // std::cout<<"shmid:"<<shmid<<std::endl;
    //1.创建共享内存
     Shm shm(gpathname,gproj_id,gCreater);
     char *shmaddr=(char*)shm.Addr();

    shm.DebugShm();
    
    //2.创建管道

    // NamePiped fifo(comm_path,Creater);
    // fifo.OpenForRead();

    // while(true)
    // {
    //     std::string temp;
    //     fifo.ReadNamedPipe(&temp);
    //     std::cout<<"shm memory content: "<<shmaddr<<std::endl;
    //     sleep(1);
    // }
     
    // sleep(5);
    // char *addr=(char*)shm.AttachShm();

    // //使用共享内存
    sleep(5);

    // shm.DetachShm(addr);
    // sleep(5);

    return 0;
}

// #include "Shm.hpp"
// #include "namedPipe.hpp"

// int main()
// {
//     // 1. 创建共享内存
//     Shm shm(gpathname, gproj_id, gCreater);
//     char *shmaddr = (char*)shm.Addr();

//     shm.DebugShm();

//     // // 2. 创建管道
//     // NamePiped fifo(comm_path, Creater);
//     // fifo.OpenForRead();

//     // while(true)
//     // {
//     //     // std::string temp;
//     //     // fifo.ReadNamedPipe(&temp);

//     //     std::cout << "shm memory content: " << shmaddr << std::endl;
//     // }

//     sleep(5);
    
//     return 0;
// }